package com.xinou.daily_report.service;

import com.xinou.common.base.config.ApiResponse;
import com.xinou.daily_report.PO.okForm.*;
import com.xinou.daily_report.VO.OkFormCountVO;
import com.xinou.daily_report.VO.OkFormInfoVO;
import com.xinou.daily_report.entity.SysOkForm;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ${author}
 * @since 2021-07-05
 */
public interface SysOkFormService extends IService<SysOkForm> {
    /**
     * 添加
     * @param po
     * @return
     */
    ApiResponse<String> okFormSave(OkFormAddPO po);

    /**
     * 获取列表
     * @param po
     * @return
     */
    ApiResponse<OkFormInfoVO> okFormList(OkFormListPO po);

    /**
     * 获取 ok 单统计
     * @return ok 单统计
     */
    ApiResponse<OkFormCountVO> okFormCount();

    /**
     * 删除
     * @param po
     * @return
     */
    ApiResponse<String> okFormDelete(OkFormDeletePO po);

    /**
     * 修改
     * @param po
     * @return
     */
    ApiResponse<String> okFormUpdate(OkFormUpdatePO po);

    /**
     * 状态的修改，完成、驳回、确认、超时等
     * @param po
     * @return
     */
    ApiResponse<Void> okFormStatus(OkFormStatusPO po);

}
